package tp.pr2;

import java.util.ArrayList;

public class Map
{

	private ArrayList<Door> mapa = new ArrayList<Door>();

	// constructor
	public Map()
	{
		this.mapa = new ArrayList<Door>();
	}

	// metodos
	public Door addDoor(Room source, Directions direction, Room target) // puerta normal
	{
		Door puerta = new Door(source, direction, target, false);
		mapa.add(puerta);
		return puerta;
	}

	public Door addBidirectionalDoor(Room source, Directions direction,
			Room target) // puerta bidireccional
	{
		Door puerta = new Door(source, direction, target, true);
		mapa.add(puerta);
		return puerta;
	}

	public Door getDoor(Room room, Directions dir) //funciona, pero no se porque funciona de esta forma tan cutre
															
	{
		Door puerta = null;
		Door aux = null;
		int i = 0;

		while (i < this.mapa.size())
		{
			aux=mapa.get(i);
			if (aux.getOrigen()==room && aux.getDir()==dir) 
			{
				return aux;
			}
			
			if(aux.getDestino()==room && aux.getDir().getOpuesto()==dir)
			{
				return aux;
			}
			i++;
		}

		return puerta;
	}

}
